package br.com.Orange.controller;

import java.util.Collection;

import br.com.Orange.controller.exception.TipoQuartoExistenteException;
import br.com.Orange.controller.exception.TipoQuartoInexistenteException;
import br.com.Orange.dao.quarto.RepositorioTipoQuarto;
import br.com.Orange.model.TipoQuarto;
import br.com.Orange.util.dados.exception.RepositorioVazioException;

public class CadastroTipoQuarto {
	
	private RepositorioTipoQuarto tipos;
	
	public CadastroTipoQuarto(RepositorioTipoQuarto tipos){
		this.tipos = tipos;
	}

	public void inserir (TipoQuarto tipo) throws TipoQuartoExistenteException {
		if (tipos.existe(tipo.getCodigo())){
			tipos.inserir(tipo);
			System.out.println("[Tipo de quarto cadastrado com sucesso!]");
		}else{
			throw new TipoQuartoExistenteException(tipo);
		}
	}
		
	public void atualizar (TipoQuarto tipo) throws TipoQuartoInexistenteException{
		tipos.atualizar(tipo);
		System.out.println("[Tipo de quarto atualizado com sucesso!]");
	}
	
	public void remover (int codigo) throws TipoQuartoInexistenteException{
		tipos.remover(codigo);
		System.out.println("[Tipo de quarto removido com sucesso!]");
	}
	
	public TipoQuarto procurar (int codigo) throws TipoQuartoInexistenteException{
		return tipos.procurar(codigo);
	}
	
	public Collection<TipoQuarto> listar() throws RepositorioVazioException{
		return tipos.listar();
	}
	
}
